package com.easy.easylibdemo.app;

import android.app.Application;

import com.easylib.utils.AppInitUtils;

import cn.finalteam.galleryfinal.FunctionConfig;


/**
 * 作　　者: guyj
 * 修改日期: 2016/11/16
 * 描　　述:
 * 备　　注:
 */
public class EasyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        /**
         * Method Chaining
         * 1.必须配置setApplication
         * 2.显式调用isDebug开启debug mode，上线时，建议关闭即不调用
         * 3.Freeline,LeakCanary,Logger和okhttp的log仅在debug mode下开启
         * 4.考虑到Application的单例属性，并不会重复创建，所以依然采用了Builder Mode初始化相关配置
         */
        AppInitUtils.getInstance().setApplication(this).isDebug()
                .initGson()
                .initFreelineCore()
                .initLeakCanary()
                .initLogger()
                .initOkHttp()
                .initImagePicker(
                        new FunctionConfig.Builder()
                                .setEnableCamera(true)
                                .setEnableEdit(true)
                                .setEnableCrop(true)
                                .setEnablePreview(true)
                                .setMutiSelectMaxSize(9)
                                .build()
                ).create();
    }
}
